Data storage apparatus and data retrieval method in said apparatus

ABSTRACT

An operator uses a data input unit  1  to enter handwriting stroke data on a per-page basis. The entered strokes are stored by a memory unit  3.  The operator sets key strokes, from among the stored stroke data, by means of a key-stroke setting unit  2.  If key strokes are to be retrieved, a desired search stroke is entered from a search-stroke input unit  4.  Retrieval means  5  compares the search stroke with each of the key strokes. If a key stroke that matches the search stroke is found, the page containing this key stroke is displayed as search results.

BACKGROUND OF THE INVENTION

This invention relates to an electronic apparatus that is capable ofentering handwritten strokes.

DESCRIPTION OF THE RELATED ART

A conventional handwriting data storage apparatus in which handwritingcan be entered is capable of storing entered stroke information in sucha manner that a memo or the like entered as handwriting can be stored.Such an apparatus may have a page-turning function or a function whichmakes possible retrieval by a title or keyword assigned to a memo.

The title or keyword assigned to a memo in the latter of these functionsis composed of code information entered using a keyboard displayed on ascreen or by means of handwriting character recognition. To perform asearch, therefore, the search word is entered as code information insimilar fashion using a keyboard or handwritten character recognition.This apparatus conducts the search by executing processing to match thesearch word or title with the keyword or title assigned to the memo.

Thus, in the example of the prior art described above, a keyboard mustbe used or character recognition must be carried out when setting thekeyword or title to be assigned to the memo and when entering a searchword. If entry is made from the keyboard, it is required to makephysical use of a keyboard or to perform a special operation such astaking the trouble to call a keyboard displayed on a screen. This isvery troublesome.

If entry is made using handwritten character recognition, entry issimpler than in the case of the keyboard but entries must be made whileconfirming that recognition is being performed correctly. This meansthat a troublesome operation is still unavoidable. In addition, sinceprocessing time is needed for recognition per se, the operator maybecome impatient when a quick response is sought.

Furthermore, since retrieval can be performed using code information,anyone who has learned the method of use or search keywords can retrievedata. If security is required, therefore, there is need of a troublesomeoperation such as the setting of a password separate from the keyword.In addition, since character code information is used, the object of asearch is limited to characters and symbols that are dependent upon acharacter code table. This means that marks and abbreviated characterscommonly employed in handwriting cannot be used.

SUMMARY OF THE INVENTION

The present invention has been devised in view the prior art describedabove and its object is to provide a handwriting data storage apparatusin which retrieval can be carried out using handwriting data withoutrequiring the use of a keyboard or character recognition for the purposeof data retrieval.

According to the present invention, the foregoing object is attained byproviding a first data storage apparatus comprising input means forentering stroke data, key-stroke setting means for setting a key strokefrom the stroke data entered by the input means, memory means forstoring the key stroke and the stroke data that have been entered by theinput means in individual groups of predetermined units, retrieval meansfor retrieving a key stroke that matches a search stroke entered by theinput means, and first search-result display means for displaying strokedata contained in a group corresponding to the key stroke found by theretrieval means.

In a preferred embodiment, the apparatus further includes key-strokedisplay means for displaying information relating to all key strokesthat have been stored in the memory means, selecting means for selectinga desired key stroke from key strokes displayed by the key-strokedisplay means, and second search-result display means for displayingstroke data contained in a group corresponding to the key strokeselected by the selecting means.

A second data storage apparatus according to the present inventioncomprises a processor, a display unit, a coordinate input unit, a datamemory for storing input data, and a program memory for storing aprogram executed by the processor, wherein the program memory includes aprogram code of an input step of entering stroke data and storing thestroke data in the data memory in individual groups of predeterminedunits, a program code of a key-stroke setting step of setting a keystroke from among the stroke data entered at the input step and storingthe key stroke in the data memory group by group, a program code of aretrieval step of retrieving a key stroke that matches a search strokeentered at the input step, and a program code of a first search-resultdisplay step of displaying stroke data contained in a groupcorresponding to the key stroke found at the retrieval step.

In a preferred embodiment, the program memory further includes a programcode of a key-stroke display step of displaying information relating toall key strokes that have been stored in the data memory, a program codeof a selecting step of selecting a desired key stroke from keys strokesdisplayed at the key-stroke display step, and a program code of a secondsearch-result display step of displaying stroke data contained in agroup corresponding to the keystroke selected at the selecting step.

A method of retrieving data in a data storage apparatus according to thepresent invention comprises an input step of entering stroke data andstoring the stroke data in memory means in individual groups ofpredetermined units, a key-stroke setting step of setting a key strokefrom among the stroke data entered at the input step and storing the keystroke in the memory means group by group, a retrieval step ofretrieving a key stroke that matches a search stroke entered at theinput step, and a first search-result display step of displaying strokedata contained in a group corresponding to the key stroke found at theretrieval step.

In a preferred embodiment, the method further includes comprises akeystroke display step of displaying information relating to allkeystrokes that have been stored in the memory means, a selecting stepof selecting a desired keystroke from keystrokes displayed at thekeystroke display step, and a second search result display step ofdisplaying stroke data contained in a group corresponding to thekeystroke selected at the selecting step.

In accordance with the data storage apparatus and retrieval method usedin this apparatus described above, a search is conducted by stroke data.Consequently, a keyboard is unnecessary and handwriting data can be usedin retrieval directly without the need for character recognition. As aresult, data can be entered easily and searches can be conducted at highspeed.

Further, with the disclosed apparatus and method, the operator iscapable of retrieving easy-to-use symbols and abbreviated charactersintuitively. This makes the apparatus and method very easy to use.

Furthermore, strokes may be combined freely. This means that a securityfunction can be provided if strokes known only to a specific operatorare used as key strokes.

Furthermore, by virtue of the fact that stored key strokes aredisplayed, key strokes can be utilized as an index.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a functional diagram illustrating a first embodiment of thepresent invention;

FIG. 2 shows an example of a data input screen for entering handwrittenstrokes in this embodiment;

FIG. 3 shows an example of a setting screen for setting key strokes inthis embodiment;

FIG. 4 shows an example of an input screen for entering search strokesin this embodiment;

FIG. 5 shows an example of a display screen for displaying searchresults in this embodiment;

FIG. 6 is a diagram illustrating the relationship among a page indextable, stroke information and key stroke information in this embodiment;

FIG. 7 is a flowchart of processing illustrating operation when a searchis conducted;

FIG. 8 shows an example of a keystroke display screen illustrating asecond example of practicing the present invention;

FIG. 9 is a diagram showing the hardware configuration of a pen-inputinformation apparatus according to an embodiment;

FIGS. 10A, 10B are flowcharts illustrating a processing procedure wheninformation is entered by a pen in the first embodiment;

FIGS. 11A˜11C are flowcharts illustrating a processing procedure wheninformation is entered by a pen in a second embodiment; and

FIG. 12 is a functional block diagram of a second embodiment of thepresent invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

First Embodiment

An embodiment of the present invention will be described in detail withreference to the drawings.

FIG. 1 is a block diagram illustrating the functions of a pen-inputinformation apparatus which best illustrates the characterizing featuresof the present invention. As shown in FIG. 1, the apparatus includes adata input unit 1 constituted by a digitizer or the like capable ofentering stroke information. The entered stroke information is displayedon a display screen, which forms an integral part of the data inputunit, and is stored in a memory unit 3. The stroke information referredto here is information on handwriting entered by the data input unit 1.More specifically, this is time-series coordinate point-sequenceinformation obtained by sampling, at fixed time intervals, a segment ofhandwriting from the moment a pen is pressed down to the moment the penis raised.

A key-stroke setting unit 2 is for specifying a key stroke, which is theobject of a search, from a plurality of strokes already stored in thememory unit 3. The key stroke is composed of at least one stroke. (Inorder to avoid any confusion, it should be noted that the term “key” in“key stroke” does not mean the key of a keyboard but has the samemeaning as the “key” in “keyword”.) The memory unit 3 adopts a singlescreen of the display as a page unit and stores each page with the pagenumber of this page serving as an index. Strokes that have been enteredfrom the data input unit 1 are formed into groups on each page. Further,the memory unit 3 stores the stroke designated by the stroke settingmeans 2.

A search-stroke input unit 4 is used to enter a search stroke, which isfor the purpose of retrieving the key stroke that has been set by thekey-stroke setting unit 2. A retrieval unit 5 executes comparisonprocessing to compare the search stroke, which has been entered by thesearch-stroke input unit 4, with a plurality of key strokes that havebeen stored in the memory unit 3. If the result of the comparison isthat the search stroke is similar to a stored key stroke, the page indexwhich includes the key stroke retrieved is outputted as the results ofthe search.

In a case where there are a plurality of key strokes that resemble thesearch stroke, a plurality of page indices are outputted as the resultsof the search. On the basis of a page index outputted by the retrievalunit 5, a search result display unit 6 causes the display screen topresent a display of the information representing the page on which theretrieved key stroke resides. If there are a plurality of searchresults, the search result display unit 6 displays the pages of thesearch results successively in accordance with an indication from theoperator. Further, in order to make the existence of a key stroke clearto the operator, whichever stroke among the strokes on a displayed pageis the key has its display attribute, such as its color, changed.

FIG. 9 is a block diagram illustrating an example of a hardwarearchitecture for implementing the function blocks of FIG. 1.

The setting of a key stroke by the key-stroke setting unit 2, the entryof a search stroke by the search-stroke input unit 4 or the retrieval bythe retrieval unit 3 can be implemented by having a processor 902execute a program stored in a program memory 903 shown in FIG. 9.

Further, the memory unit 3 in FIG. 1 is implemented by a main memory901. The entry of a stroke or of a menu by the data input unit 1 orsearch-stroke input unit 4 can be carried out by a digitizer 905.

Furthermore, the display of entered data or search results can bepresented by an LCD panel 904 underlying the digitizer 905, which istransparent. The LCD panel 904 and digitizer 905 have the samecoordinate system and are so adapted that when a point is designated bythe digitizer, a display of the point is presented so as to besuperimposed on the designated point.

FIG. 2 is a diagram showing an example of an input display screen forhandwriting strokes entered from the data input unit 1 illustrated inFIG. 1. A single input screen thus presented is treated as a single pageunit. Numeral 11 in FIG. 2 denotes the page number and is a page indexindicating which page the currently displayed page is. A page-turningportion 12 is an on-screen button which changes the screen to theprevious page or to the next page. By pressing this portion of thescreen with a pen, the operator can cause the screen to change to theprevious page or to the next page.

A menu button 13 is an on-screen button which, by being pressed, makesit possible to select one of three modes, namely a “key-strokedesignation model”, a “data input mode” or a “search-stroke input mode”.

The “page” mentioned here is the “page unit” referred to in thedescription of the memory unit 3 shown in FIG. 1. A plurality of strokessuch as displayed on the screen in FIG. 2 are stored as groupedinformation and displayed as search results.

FIG. 3 shows an example of a screen on which key strokes are beingdesignated by the key-stroke setting unit 2. To make the transition fromthe data input screen of FIG. 2 to the key-stroke designating screen ofFIG. 3 in this embodiment, the operator changes over the mode bypressing the menu button 13 of FIG. 2. To designate strokes, first theoperator presses a pen down on a position 21 and then lifts the pen atposition 22. As a result, a diagonal line of a rectangular area isspecified by the positions 21 and 22. The stroke data contained insidethe rectangular area decided by the diagonal line is specified as thekey strokes. In the example of the screen shown in FIG. 3, four strokesconstructing the character are specified as the key strokes. The methodof designating key strokes is not limited to that of this embodiment; itwill suffice if a specific stroke from among a plurality of strokesdisplayed on the screen is capable of being designated. It is possibleto apply various stroke designating methods such as are employed in thegraphics applications of information devices that use a mouse or pen.

FIG. 4 shows an example of an input screen for entering search strokes.A search is executed by pressing a search button 31. A clear button 32is an on-screen area for erasing already written search strokes when itis desired to rewrite a search stroke input. A cancel button 33 is anon-screen area for canceling entry of search strokes. An area 34 servesas the area for entering search strokes.

Entry of search strokes is carried out in the form of handwriting in themanner illustrated. In this embodiment, no comparison is made withregard to size or position of strokes; only the shapes of strokes andthe order in which they are entered become the objects of comparison ina search. This is related to a matching method, described later, anddoes not impose a limitation upon the invention.

FIG. 5 shows an example of a display screen for displaying searchresults. More specifically, the screen displays the search resultsobtained when a search is conducted by pressing the search button 31 inFIG. 4. If search results take up a plurality of pages, a next-candidatebutton 41, which is for presenting a display of the next retrieved page,is displayed on the screen. If search results are satisfactory, theoperator presses an end button 42.

If the end button 42 is pressed, the screen being displayed as thesearch results is presented in the form of the data input screen. Ifthere is no next-candidate button or if there are no search resultsobtained, a message to this effect is displayed to so inform theoperator. Further, in the example of FIG. 5, the display of the keystrokes which are the object of the search appears in the form of boldlines to distinguish it from the display of other strokes.

FIG. 6 is a diagram in which the relationship among the strokeinformation in page units stored in the memory unit 3, the page indicesand the key strokes is illustrated in readily understandable form. Asshown in FIG. 6, starting addresses of stroke data on pages from a firstpage to a 99th page are stored in an page index table 51. In thisembodiment, page information consists solely of strokes. However, codeinformation and image information such as bitmap information can bemixed with the strokes. In such case the address information of a pageindex should be provided with regard to each type of data on a per-pagebasis.

An area 52 in FIG. 6 is an area which stores the stroke informationcontained on a page. The stroke data on the second page is illustratedin example shown in FIG. 6. A block 5201 in the stroke informationstorage area 52 represents the data of one stroke. The coordinate datain each stroke are represented by 15-bit numerical data 521 and a 1-bitstroke-end flag 522 for each of x and y.

The last item of data of one stroke is “1”, which indicates that theflag 522 is ON, as illustrated in FIG. 6. An end block 5202, whichindicates page end, is present at the end of a succession of a pluralityof these blocks. The stroke-end flag in this last block of data is ONand the data portion is “7FFF” in hexadecimal notation. This makes itpossible to determined the end of a page.

An area 53 in FIG. 6 is a storage area for the keystroke information.The key strokes on a page indicated by a page index number 531 areindicated by an offset address 532 of stroke information and strokenumber 533, namely the number of strokes constructing the key strokes.The offset address 532 is an offset from an address stored in the table51 to the block of a key stroke in regard to a page indicated by thepage index 531.

In a case where the page index number 531 is “0”, this column is treatedas information indicating the end of a key-stroke information area.

FIG. 7 and FIGS. 10A, 10B are flowcharts illustrating the details of theoperation described above.

FIGS. 10A, 10B are flowcharts illustrating an operating procedureimplemented with regard to a page (current page) displayed on thescreen. In the processing of FIGS. 10A, 10B, the action of pressing downthe pen and lifting the pen is adopted as a single pen input, and theprocessing is started in response to such an input.

If there is an input, the present mode is discriminated at step S1001 inFIG. 10A. If the present mode is the search mode, the program branchesto step S1011 in FIG. 10B. If the input is a key stroke, the programproceeds to step S1002. Here strokes bounded by the entered rectangleare found from the stroke information area 52 of the current page. Thestroke information found is stored in the key-stroke storage area 53.More specifically, the addresses and number of strokes found are stored,together with the current page number, in the key-stroke storage area 53as the key strokes. The data input mode is then restored and theapparatus waits for an input.

If the current mode is the data input mode, it is determined at stepS1004 whether the input is selection of a mode from a menu. If such isthe case, then the program proceeds to step S1005, at which a screenconforming to the selected mode is displayed. More specifically, thescreen of FIG. 2 is displayed if the mode is the data input mode, thescreen of FIG. 3 if the mode is the key-stroke input mode and the screenof FIG. 4 if the mode is the search mode. If the input is not selectionof a mode, it is determined at step S1006 whether the input is that fordesignating page changeover. If the answer is “YES”, then, dependingupon the designation made, the current page is changed to theimmediately preceding page or to the immediately following page at stepS1007. If the input is not that for designating page changeover, it isdetermined at step S1008 whether the menu button has been pressed. Ifthe menu button has been pressed, then selectable modes are displayed asa menu at step S1009.

If no button is pressed in the data input mode, this means that theentered data are indicative of a stroke on the current page.Accordingly, a coordinate point-sequence constructing the entered strokeis stored in the stroke information area 52 and a display is presentedin the form entered. If data is added to an existing page at such time,the data on successive pages is shifted as needed to acquire a vacantarea. If a page is a new page, the address of the stroke information isstored in the page index table 51 after the stroke information isstored, and then the address is correlated with the page.

If the mode is the search mode, it is determined at step S1011 whetherthe search has ended. If the search has not ended, then it is determinedat step S1012 whether the search button 31 has been pressed. If thesearch button 31 has been pressed, then a search is conducted at stepS1013. This procedure is described in detail in FIG. 7. If the searchbutton 31 has not been pressed, then it is determined at step S1014whether the clear button 32 has been pressed. If the answer is “YES”,then an entered search stroke is cleared at step S1015. If the answer is“NO”, then it is determined at step S1016 whether the cancel button 33has been pressed. If the cancel button 33 has been pressed, then searchcurrently being conducted is canceled at step S1017 and the data inputmode is restored at step S1018.

If no button is pressed in the state which prevails prior to a search,then a stroke that has been entered is judged to be a search stroke. Theentered stroke is stored as a search stroke at step S1019.

In a case where an input is made after a search, it is determined atstep S1020 whether the next-candidate button 41 has been pressed. If theanswer is “YES”, then the page that is the next candidate is displayedat step S1021. If decision at step S1020 is “NO”, then it is determinedat step S1022 whether the end button 42 has been pressed. If the answeris “YES”, then the data input mode is restored at step S1023.

By virtue of the foregoing procedure, entry of a stroke, definition of akey stroke and page retrieval based upon the stroke data can beperformed depending upon the input made. It should be noted that thedata input unit 1, key-stroke input unit 2, search-stroke input unit 4and retrieval unit 5 are blocks which perform the functionscorresponding to the modes determined at step S1001. These blocksexecute the processing of steps S1004˜S1010, steps S1002˜S1003 and stepsS1004˜S1019.

Next, operation at the time of a search will be described in detail withreference to FIG. 7.

First, at step S1 in FIG. 7, simple extraction of features from anentered search stroke is carried out. In this example, only the numberof strokes is extracted. Next, at step S2, the page index 531 of thekey-stroke storage area 53 is checked and it is determined whether theindex is “0”, which indicates block end. If the result is “0”, then theprogram proceeds to step S9.

If block end is not found at step S2, the program proceeds to step S3.Here the number of strokes determined at step S1 is compared with thestroke number 533 in the key-stroke storage area 53. If the numbers ofstrokes compared are not the same, the program proceeds to step S8, atwhich processing shifts to the next key-stroke block. The program thenreturns to step S2.

If the numbers of strokes are found to be the same at step S3, then theprogram proceeds to step S4. The offset address of the storage area 533of key-stroke information is extracted and the offset address is addedto the address obtained from the page index table 51 on the basis of thepage index number 531. The block of this address is extracted as a keystroke from stroke information contained in the stroke information area52. At this time the stroke number 533 stored in the key-strokeinformation 53 is extracted and placed in the buffer in order to matchonly the data indicative of the value of this number. Next, at step S5,matching is performed between the search stroke and the extracted keystroke. The matching method employs a well-known stroke-vector matchingtechnique used widely in on-line handwritten character recognition. Themethod used in this embodiment will be described below in simple terms.

First, individual strokes are divided into ten equal segments and eachsegment is converted to eight-direction vector representation. The thusconverted search strokes and key strokes are each compared in terms of(10*stroke number) vector representation and a penalty is enlarged inconformity with a deviation in such a manner that strokes whose vectorsare exactly the same are given a penalty of “0”, strokes one of whoseeight-direction vectors deviates are given a penalty of “1”, and so on.The penalties are added up while all stroke vectors are compared. Thetotal penalty, which is the final result, is thus obtained.

On the basis of the penalty thus determined, degree of similarity isjudged at step S6. Perfectly matching strokes naturally have a penaltyof “0”. However, since the form of a handwritten character differsslightly every time it is written, as a matter of course, a penalty isallowed to a certain degree. Changing the amount of allowance makes itpossible to adjust the laxity of a search. In this embodiment, a penaltyof ten points per stroke is allowed. If the penalty is less than tenpoints, then it is judged that the compared strokes resemble each other.For example, in the case of the search shown in FIG. 4, there are foursearch strokes. Owing to the fact that a total of 40 vectorrepresentations are compared, the maximum amount of penalty allowed is40 points.

In this embodiment, as described above, matching of stroke vectors isused. However, equivalent results are obtained even when a well-knownfeature-point extraction method is applied. The present invention is notdependent upon the matching method. As long as the degree of similarityof strokes can be judged, any technique may be used.

In this embodiment, strokes are judged to resemble each other using apenalty allowance of 40 points in the example of FIG. 4, as mentionedabove. If strokes are judged not to resemble each other at step S6, thenthe program proceeds to step S8. Here the next key stroke is taken asthe stroke of interest and the processing from step S2 onward isrepeated.

If compared strokes are found to be similar at step S6, then the programproceeds to step S7, at which the page number of this key stroke isstored temporarily, and then to step S8, at which the next key stroke istaken as the stroke of interest and the processing from step S2 onwardis repeated.

When examination of all key strokes is finished by executing processingin this fashion, it is found at step S2 that there are no key strokesleft and the program proceeds from step S2 to step S9, at which the pagenumber stored at step S7 is outputted to the display means for the nextsearch result and all search processing is terminated. If the pageretrieved at step S7 does not exist, page number 0 is outputted andprocessing is ended.

Search results are displayed in the manner shown in FIG. 5 on the basisof the page number outputted by the above-described processing. If theoutputted page is “0”, a message to the effect that the object of thesearch could not be found is outputted. The foregoing operation makes itpossible to furnish a user with a page search based upon strokes.

In this embodiment, stroke matching employs vector matching, theconditions limiting search strokes in this case are set to be extremelyliberal and so are the matching conditions. As a result, strokescoincide fairly easily. Accordingly, though a page retrieved by searchstrokes is fairly easy to find, there is also the possibility that pagesnot sought will also be outputted fairly often. If it is felt that asearch has been given too much latitude, the conditions at the time ofmatching can be adjusted, as mentioned earlier. By setting the optimumconditions, therefore, it is possible to conduct a search in accordancewith the desired conditions. In actuality, no practical problems ariseif adjustments are made skillfully at the time of development or if itis so arranged that the user can adjust the conditions.

Furthermore, in this embodiment, the processing speed is high becausethe numbers of strokes are compared before matching is performed. Ifthis comparison of numbers of strokes is eliminated, the processingspeed will decline but then it will not matter if the number of keystrokes and the number of search strokes change. If the matching methodrelies solely upon the matching of feature points, it will be possibleto eliminate a limitation upon the order in which strokes are written.

Thus, it is possible to adjust search limitations in a variety of waysso that the user can select the optimum search limitations desired.

Further, in this embodiment, the setting of key strokes is implementedby designating any stroke entered as data. As a result, some of aplurality of items of data can be used also as key strokes and aplurality of key strokes can be provided on the same page. The result isa highly versatile search apparatus that is easy to use.

In this embodiment, a page changeover function is provided. However, ifit is so arranged that a key stroke is set at all times in a case wherea new page is created without the provision of this function, it will bepossible for the operator to control security by using ordinary symbolsor characters or by employing marks or abbreviated characters known onlyto the operator.

In this embodiment, the data stored on one page are composed solely ofstroke data. Besides stroke data, however, character code informationand image information such as a bitmap can also be added to page datawithout departing from the gist of the present invention.

Second Embodiment

In the second embodiment, the arrangement of the first embodiment isfurther provided with means for display key strokes. Accordingly, FIGS.1 through 7, FIG. 9 and FIG. 10B can be used in the second embodiment aswell and elements identical with those of the first embodiment need notbe described in detail again. However, the content of the menu describedin FIG. 2 onward is added to the second embodiment. Further, a“key-stroke display mode” is added to the modes checked at step S1001 inFIG. 10A.

More specifically, “key-stroke display” is added to the menu displayedby designating the menu display in FIG. 2. A key-stroke display screenshown in FIG. 8 is displayed by designating this key-stroke display.

Key strokes selected in a key-stroke display area 62 are displayed intime-series fashion in a display area 61 in FIG. 8 just as if they werewritten by a human being. All currently set key strokes are displayed inthe key-stroke display area 62. A scroll bar and arrows for designatingup/down-scrolling are displayed on the right side of area 62. The scrollbar and arrows are used when all key strokes cannot be displayed withinthe limits of the area 62.

Key strokes can be selected from the displayed key-stroke area 62 bypressing the desired key strokes with a pen. The key strokes that havebeen selected are displayed in the key-stroke display area 61 intime-series fashion so that the order in which the strokes were writtencan be understood. The size of displayed strokes is optimized by acoordinate transformation so as to fit in the display area 61.

When a re-display button 63 is designated, the key strokes already beingdisplayed in the key-stroke display area 61 are erased and thendisplayed again in the manner of a time series. When a search button 64is designated, page information containing the key strokes displayed inthe display area 61 is retrieved. It is possible to perform a searchusing these key strokes as an index without the operator enteringhandwritten key strokes in the manner of the first embodiment. When anend button 65 is designated, this screen is terminated and the datainput screen of FIG. 2 re-appears.

The operation of this embodiment will be described with reference toFIG. 6, FIG. 8 and FIGS. 11A˜11C. First, in order to display key strokesin the key-stroke selection area 62 of FIG. 8, the key-stroke storagearea 53 of FIG. 6 is checked and key-stroke data area fetched until thepage number becomes “b 0”. This processing is exactly the same as theprocessing of steps S2 and S4 in FIG. 7, described in connection withthe first embodiment.

The coordinate information of each key stroke thus extracted undergoes atranslation and a similar transformation of its coordinates in such amanner that the position and size will conform to the display area 61.The strokes thus transformed are displayed in the key-stroke selectionarea 62. The key strokes selected from the selection area 62 alsoundergo a coordinate transformation so that the position and size of thestrokes will conform to the display area 61.

The processing thus far is similar to that of the case where strokes aredisplayed in the display area 62. However, the display method differsfrom that of the first embodiment. Strokes usually are displayed by aplurality of straight lines connecting each of the coordinate points.However, with regard to the display in area 62, a plurality of linesegments connecting each of the coordinate points need not be displayedat one time. The strokes may be displayed in the order in which theywhere entered while a fixed pause is provided for each line segment. Theorder in which the strokes were written is memorized by storing thestrokes in the stroke storage area 52 in the order of entry.

In the case of this embodiment, a pause interval of about 25 ms isprovided for each line segment. Furthermore, a pause of amount 100 ms isinserted between strokes. As a result, it is possible to ascertain theorder in which key strokes were written as well as the direction fromwhich they were written.

With regard to the search operation when the search key 64 is pressed,treatment is exactly the same as when strokes are outputted at step S9in FIG. 7 if a page number is extracted and outputted from selectedkey-stroke information. Results of the search are displayed by thedisplay unit 6 in FIG. 1.

FIGS. 11A˜11C are flowcharts illustrating the processing describedabove. Steps similar to those in FIGS. 10A, 10B are designated by likestep numbers and need not be described again.

If there is an input in response to pressing the pen down on the inputdevice, the currently prevailing mode is determined at step S1101. Ifthe current mode is the search mode or key-stroke input mode, processingsimilar to that of the first embodiment is executed. If the current modeis the data input mode, it is determined at step S1111 in FIG. 11Bwhether a mode has been selected from the menu. If the answer is “NO”,then the program branches to step S1006, where processing the same asthat of the first embodiment is executed. If the answer is “YES”, on theother hand, it is determined at step S1112 which mode has been selected.If the selected mode is not the key-stroke input mode, then the screensof the respective modes shown in FIGS. 2˜4 are displayed at step S1113.

In a case where the key-stroke display mode has been selected, referenceis had to the key-stroke storage area 53, the key stroke that has beenregistered at the beginning of the area is read and the block of the keystroke is read out of the stroke storage area 52 in accordance with thecontent of the read key stroke. In order to specify a key stroke, theaddress that has been stored in the page index 51 corresponding to thepage number 531 is read. The offset address 53 is added to this addressand the address of the key stroke is calculated. From this address, theblock whose number is the value of the stroke count 533 is the keystroke.

The key stroke that has been read out is displayed in the display area62 at step S1115. When the display of one key stroke thus ends,processing is executed in similar fashion with regard to the next keystroke, if any, while the display area is changed.

If the key-stroke input mode is discriminated at step S1101, the programproceeds to step S1102. The type of button that has been pressed isexamined from step S1102 onward and the corresponding processing isexecuted.

If the end button 65 has been pressed, the data input mode is restoredat step S1103. If the search button 64 has been pressed, the pagecorresponding to the selected key stroke is displayed at step S1105. Ifthe re-display button 63 has been pressed, the key stroke beingdisplayed in the display area 61 is regarded as the designated keystroke and the program proceeds to step S117, which is processing fordesignating a key stroke. If the scroll bar has been moved, thekey-stroke display area 62 is scrolled.

In a case where the input is designation of a key stroke in thekey-stroke display area 62, the designated key stroke is specified byreferring to the key-stroke storage area 53 at step S1117. The keystroke is specified in the same way as at step S1114. If the blockcorresponding to the key stroke thus designated is changed, each strokeforming the key stroke is displayed at step S1118. Here a time intervalof 25 ms is inserted each time a line segment connecting sampling pointsis displayed.

Whether a stroke contained in a key stroke still remains is determinedat step Si119 by referring to the stroke number 533. If a stroke stillremains, step S1118 is repeated to display the strokes at intervals of100 ms.

Thus, all registered key strokes can be displayed and a search strokecan be retrieved from these. With the information device of thisembodiment, a group of strokes desired by the operator can thus be usedas an index.

Further, the key-stroke storage area 53 may be provided with a flagindicating whether each key stroke is utilized as an index. If the flagis ON, the key stroke is displayed in the manner shown in FIG. 8 in thekey-stroke display mode. If the flag is OFF, nothing is displayed. Thus,a setting can be made in such a manner that all key strokes are notdisplayed.

FIG. 12 is a functional block diagram of this embodiment. In thearrangement of FIG. 12, the configuration of the first embodiment isadditionally provided with a key-stroke display unit 7. The key-strokedisplay unit 7 reads a key stroke out of the memory unit 3 and displaysthis key stroke. If a search has been designated, the page correspondingto the selected key stroke is found and this is displayed on the displayunit 7.

This embodiment is effective in preventing a situation in which a searchcannot be performed because the operator has forgotten the existence ofthe key stroke or the way in which it was written. Moreover, theembodiment provides a new method of performing a search besides a methodwhich relies upon handwritten entry for retrieval of a key stroke.

In the pen-input information apparatus of this embodiment, as describedabove, information grouped on a per-page basis can be retrieved by ahandwritten stroke. Therefore, in an information apparatus in whichentries are made chiefly by handwriting, it is no longer necessary touse handwritten character recognition or keyboard entry. This makes itpossible for the user to perform a high-speed search with ease. Morespecifically, an information apparatus can be provided in which it ispossible for a searcher to register his or her own key word and in whichthe searcher can use a symbol or abbreviated character, which isintuitively easy to remember, as the key word when a search isperformed.

Further, since strokes are used instead of a key word, fixed informationsuch as a character code need not be the object of a search. Theoperator can use a symbol or abbreviated character, which is intuitivelyeasy to remember, as the key stroke. This not only increases the degreeof freedom and make operation easier but also makes it possible todesignate a key stroke known only to the operator. This feature can beused as a securing function.

Furthermore, since a key stroke to be searched can be selected from adisplay, the search method is enhanced and key strokes can be confirmed.

The present invention can be applied to a system constituted by aplurality of devices or to an apparatus comprising a single device.Furthermore, it goes without saying that the invention is applicablealso to a case where the object of the invention is attained bysupplying a program to a system or apparatus. In this case a storagemedium storing a program in accordance with the invention constitutesthe invention. By reading the program out of the storage medium and intoa system or apparatus, the system or apparatus will operate in thepredetermined manner.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the appended claims.

What is claimed is:
 1. A data storage apparatus for storing data entered as handwriting, comprising: input means for entering page data containing a plurality of strokes and for entering search strokes including one or more strokes; designation means for designating a rectangular area including one or more strokes in the page data; key-stroke selecting means for selecting strokes included in the designated rectangular area as key strokes which are subject to retrieval from among the plurality of strokes contained in the page data entered by said input means; memory means for storing the selected key strokes and the page data; retrieval means for retrieving key strokes, that match the search strokes entered by said input means, from the selected key strokes stored in said memory means; and first search-result display means for displaying page data corresponding to the key strokes retrieved from said memory means, wherein said retrieval means retrieves the key strokes that match the search strokes by determining whether or not the number of strokes of the search strokes is identical with the number of strokes of the selected key strokes, and in a case that the number of strokes of the search strokes is identical with the number of strokes of the selected key strokes, performing stroke matching between the search strokes and the selected key strokes.
 2. The apparatus according to claim 1, wherein said key-stroke selecting means is capable of selecting a plurality of strokes as a key stroke.
 3. The apparatus according to claim 1, wherein said input means has a coordinate input device, and said plurality of strokes are represented by a coordinate point sequence arrayed in the form of a time series.
 4. The apparatus according to claim 1, wherein said page data contains not only strokes but also other types of information.
 5. The apparatus according to claim 1, wherein said input means includes: a coordinate input unit for entering a key stroke as a coordinate point sequence; and input display means for displaying an entered stroke on a same display surface as that of said search-result display means.
 6. The apparatus according to claim 5, wherein said coordinate input unit is transparent, is superimposed upon said display surface, and has the same coordinate system as said display surface.
 7. The apparatus according to claim 5, wherein said page data is displayed on one surface of said display surface as a unit.
 8. The apparatus according to claim 1, further comprising: key-stroke display means for displaying information relating to all key strokes that have been stored in said memory means; selecting means for selecting a desired key stroke from key strokes displayed by said key-stroke display means; and selected key-stroke display means for displaying the key stroke selected by said selecting means.
 9. The apparatus according to claim 8, wherein a stroke is represented by a sequence of coordinate points arrayed in the form of a time series, and, in a case plural strokes are selected as the key stroke, said selected key-stroke display means displays each of the plural strokes at a first predetermined time interval and displays each line segment connecting the coordinate points at a second predetermined time interval in each stroke.
 10. A method of retrieving data in a data storage apparatus for storing data entered as handwriting, said method comprising: an input step of entering page data containing a plurality of strokes and storing the page data in memory means; a second input step of entering search strokes including one or more strokes; a designation step of designating a rectangular area including one or more strokes in the page data; a key-stroke selecting step of selecting strokes included in the designated rectangular area as key strokes which are subject to retrieval from among the plurality of strokes contained in the page data entered at said first input step and storing the selected key stroke in said memory means; a retrieval step of retrieving key strokes, that match the search strokes entered at said second input step, from the selected key strokes stored in said memory means; and a first search-result display step of displaying page data corresponding to the key strokes retrieved from said memory means, wherein said retrieval step retrieves the key strokes that match the search strokes by determining whether or not the number of strokes of the search strokes is identical with the number of strokes of the selected key strokes, and in a case that the number of strokes of the search strokes is identical with the number of strokes of the selected key strokes, performing stroke matching between the search strokes and the selected key strokes.
 11. The method according to claim 10, wherein said key-stroke selecting step is capable of selecting a plurality of strokes as a key stroke.
 12. The method according to claim 10, wherein a stroke is entered by a coordinate input device at said input step, and said plurality of strokes are represented by a coordinate point sequence arrayed in an order in which an input is made.
 13. The method according to claim 10, wherein said page data contains not only strokes but also other types of information.
 14. The method according to claim 10, wherein a key stroke is entered at said input step by a coordinate input unit for entering a coordinate point sequence, and the entered stroke is displayed on a same display surface as that of said search-result display means.
 15. The method according to claim 14, wherein said coordinate input unit is transparent, is superimposed upon said display surface, and has the same coordinate system as said display surface.
 16. The method according to claim 14, wherein said page data is displayed on one surface of said display surface as a unit.
 17. The method according to claim 10, further comprising: a key-stroke display step of displaying information relating to all key strokes that have been stored in said memory means; a selecting step of selecting a desired key stroke from key strokes displayed at said key-stroke display step; and a selected key-stroke display step of displaying the key stroke selected at said selecting step.
 18. The method according to claim 17, wherein a stroke is represented by a sequence of coordinate points arrayed in order in which an input is made, and, in a case plural strokes are selected as the key stroke, said selected key-stroke display step displays each of the plural strokes at a first predetermined time interval and displays each line segment connecting the coordinate points at a second predetermined time interval in each stroke.
 19. A data storage apparatus for storing data entered as handwriting, comprising: a processor; a display unit; a coordinate input unit; a data memory for storing input data; and a program memory for storing a program executed by said processor, wherein said program memory includes: a program code of an input step of entering data containing a plurality of strokes and storing the stroke data in said data memory in individual groups of predetermined units; a program code of a second input step of entering search strokes including one or more strokes; a program code of a designation step of designating a rectangular area including one or more strokes in the page data; a program code of a key-stroke selecting setting step of selecting strokes included in the designated rectangular area as key strokes which are subject to retrieval from among the plurality of strokes contained in the page data entered at said first input step and storing the key stroke in said data memory group by group; a program code of a retrieval step of retrieving key strokes that match the search strokes entered at said second input step, from the selected key strokes stored in said data memory; and a program code of a first search-result display step of displaying page data corresponding to the key strokes retrieved at said retrieval step, wherein said retrieval step retrieves the key stroke that match the search strokes by determining whether or not the number of strokes of the search strokes is identical with the number of strokes of the selected key strokes, and in a case that the number of strokes of the search strokes is identical with the number of strokes of the selected key strokes, performing stroke matching between the search strokes and the selected key strokes.
 20. The apparatus according to claim 19, wherein said program memory further includes: a program code of a key-stroke display step of displaying information relating to all key strokes that have been stored in said data memory; a program code of a selecting step of selecting a desired key stroke from key strokes displayed at said key-stroke display step; and a program code of a second search-result display step of displaying stroke data contained in a group corresponding to the key stroke selected at said selecting step. 